Tag 666
Tag 666 es un número especial de etiqueta que se utiliza para referirse a un mapa de comportamiento específico. Tag 666 se invoca no cruzando una linedef, sino por matar monstruos. El comportamiento específico se define en p_enemy.c. Mapas relevantes Doom * E1M8: Phobos Anomaly * E4M6: Against Thee Wickedly * E4M8: Unto the Cruel Doom II * MAP07: Dead Simple * MAP32: Grosse Heretic * E1M8: Hell's Maw * E2M8: The Portals of Chaos * E3M8: D'Sparil's Keep * E4M8: Shattered Bridge * E5M8: Field of Judgement Tag 666 también se puede utilizar en cualquier WAD de Doom II que contenga figuras del Comandante Keen, no importando en qué nivel estén. Una vez que todos los Keens del nivel han sido asesinados, todos los sectores etiquetados 666 abrirán las puertas ardientes. En Strife, Tag 666 se puede utilizar en cualquier mapa que contiene un Espectro "E", que es el fantasma dio lugar a la muerte del Maestro del saber. Cuando el fantasma muere, todos los sectores etiquetados 666 bajarán al suelo circundante más bajo. Procedimientos void A_KeenDie(mobj_t* mo) Este procedimiento es llamado por la muerte de cada comandante Keen presente en el nivel. Cuando el último Keen muere, las puertas etiquetadas con 666 se abren. Este procedimiento se utiliza como parte de un Huevo de Pascua en MAP32: Groose de Doom II. Tenga en cuenta que esta rutina comprueba todas las cosas del mismo tipo que el monstruo, en lugar de llamar a la comprobación del tipo MT_KEEN directamente, por lo que fácilmente se puede usar con otros tipos de monstruos via DeHackEd. void A_BossDeath(mobj_t *mo) Este procedimiento es llamado por la muerte de un monstruo jefe. Sin embargo, sólo tiene efecto si el monstruo es el último de su tipo en el nivel. Existen restricciones adicionales que varían dependiendo del juego y el nivel de que se trate: Doom * E1M8: Ejecuta lowerFloorToLowest cuando todos los Barones del infierno han muerto. * E2M8: No sector action: el nivel termina cuando todos los Cyberdemons han muerto. * E3M8: No sector action: el nivel termina cuando todos los Spiderdemon han muerto. * E4M6: Ejecuta blazeOpen when all Cyberdemons han muerto. * E4M8: Ejecuta lowerFloorToLowest cuando todos los Spiderdemon han muerto. Doom II *'MAP07': Ejecuta lowerFloorToLowest cuando todos los Mancubi han muerto. Heretic * E1M8: Ejecuta lowerFloor cuando todos los Liches de hierro están muertos. * E2M8: Ejecuta lowerFloor cuando todos los Maulotauro están muertos y mata a todos los monstruos restantes (llamando a P_Massacre). * E3M8: Ejecuta lowerFloor cuando D'Sparil está muerto y mata a todos los monstruos restantes (redundante dado que la muerte de D'Sparil hace lo mismo, A_Sor2DthInit llama a P_Massacre antes de ejecutar A_BossDeath). * E4M8: Ejecuta lowerFloor cuando todos los Liches de hierro están muertos y mata a todos los monstruos restantes. * E5M8: Ejecuta lowerFloor cuando todos los Maulotauros están muertos y mata a todos los monstruos restantes. Strife *Cualquier mapa: Ejecuta lowerFloorToLowest cuando todos los Spectre E están muertos y al menos un jugador se mantiene vivo. Diferencia de comportamiento entre Doom y Ultimate Doom El comportamiento del Tag 666 cambió con el lanzamiento de Ultimate Doom. Se añadió una restricción que limitaba la activación del Tag 666 en E1M8 sólo con la muerte del último Barón, en lugar de la muerte de cualquier último monstruo jefe. El clásico PWAD Doomsday of UAC se basó en la muerte de ambos el último Barón y el último Cyberdemon para disparar la etiqueta, haciendo esta PWAD injugable en la mayoría de los source ports modernos. El comportamiento original se admite en Chocolate Doom, Doomsday y PrBoom a través de opciones de compatibilidad opcionales, y en ZDoom, por detección automática del nivel. En concreto, el siguiente código es el responsable (A_BossDeath en p_enemy.c): switch(gameepisode) { case 1: if (gamemap != 8) return; if (mo->type != MT_BRUISER) 'return; ' break; El código en negrita define la nueva restricción. Véase también * Tag 667 * Etiquetas especiales (Strife) * Fallos del motor en:Tag 666 Categoría:Etiquetas Categoría:Errores y bugs